#include<iostream>
#include<stdlib.h>             
#include<string.h> 

# define  N   10
using namespace std;

class array{
    private:
        int *data;
        int size;
    public:
        array(int s=0);
        array(array &a);
        ~array();
        void add(int x);//void add(int B[],int k);
        void modify(int k,int y);
        void delet(); //void delet(int k1,int k2,int k3);
        int getdata(int i){return this->data[i];}
        int getlenth(){return this->size;}
};


array::array(int s){
    if(s==0)
        data=NULL;
    else
        data=new int[s];
}

array::array(array &a){
    if(!a.data){
        data=NULL;
        size=0;
        return;
    }
    data=new int[a.size];
    memcpy(data,a.data,sizeof(int)*a.size);
    size=a.size;

}

array::~array(){
    if(data) delete[] data;
}

void array::add(int x){ 
    if(data){
        int *tem=new int[size+1];
        memcpy(tem,data,sizeof(int)*size);
        data=tem;
    }
    else
        data=new int[1];
    data[size++]=x;
}



void array::modify(int k,int y){
    data[k]=y;
}

void array::delet(){
    if(data){
        int *tem=new int[size-1];
        memcpy(tem,data,sizeof(int)*size);
        data=tem;
    }
    else
        return;
    
}


int main(){
    array a(0);
    a.add(1);a.add(2);a.add(3);
    int s;s=a.getlenth();
    cout<<s<<endl;
    a.modify(1,5);
    int t;t=a.getdata(1);
    cout<<t<<endl;
} 
